package com.skyd.core.android.game;

import java.util.ArrayList;

/**
 * 一系列变化的组合
 * 
 * @author SkyD
 * 
 */
public class GameMotionGroup {
	/**
	 * 初始值为new ArrayList<GameMotion>()。 功能注释：变化列表
	 */
	private ArrayList<GameMotion> _MotionList = new ArrayList<GameMotion>();

	/**
	 * 获取MotionList。 功能注释：变化列表
	 * 
	 * @return 当前的ArrayList<GameMotion>类型的值
	 */
	public ArrayList<GameMotion> getMotionList() {
		return _MotionList;
	}

	/**
	 * 设置MotionList。 功能注释：变化列表
	 * 
	 * @param value
	 *            要设置的ArrayList<GameMotion>类型值
	 */
	protected void setMotionList(ArrayList<GameMotion> value) {
		_MotionList = value;
	}

	/**
	 * 设置MotionList为其默认值(new ArrayList<GameMotion>())。 功能注释：变化列表
	 */
	protected void setMotionListToDefault() {
		setMotionList(new ArrayList<GameMotion>());
	}
	
	/**
	 * 启动所有变化
	 */
	public void start(){
		for(GameMotion f:getMotionList()){
			f.start();
		}
	}
	
	/**
	 * 停止所有变化
	 */
	public void stop(){
		for(GameMotion f:getMotionList()){
			f.stop();
		}
	}
	
	/**
	 * 更新所有变化
	 * @param obj 目标对象
	 */
	public void update(GameObject obj){
		for(GameMotion f:getMotionList()){
			f.update(obj);
		}
	}
}
